Thực đơn
Visitor pattern Thiết kếThiết kế của mẫu visitor gồm 3 phần:
Các lớp visitor định nghĩa các thao tác tương tác trên các đối tượng. Các lớp này là cài đặt của một giao diện chung là VisitorInterface trong đó định nghĩa các phương thức dạng visit(ObjectType object),với mỗi kiểu (lớp) của các đối tượng ta có một phương thức visit với tham số truyền vào là một thực thể của kiểu đó. Mỗi phương thức như thế có nhiệm vụ xử lý trên các thực thể của lớp tương ứng.Ví dụ ta có tập hợp các đối tượng là các thực thể của hai kiểu(lớp) ClassA và ClassB thì VisitorInterface sẽ bao gồm hai phương thức:
visit(ClassA obj)visit(ClassB obj)
Để các thao tác định nghĩa trong các lớp visitor có thể thực hiện được, các lớp của các đối tượng trong tập hợp các đối tượng cần cài đặt giao diện Visitable trong đó có một phương thức accept(VisitorInterface visitor). Trong cài đặt của phương thức này ta gọi hàm visit của visitor với tham số truyền vào chính là đối tượng gọi:
public void accept(VisitorInterface visitor){ visitor.visit(this);}
Các client muốn thực thi thao tác của visitor trên tập hợp các đối tượng cần phải tạo ra một thực thể của lớp vistor tương ứng với thao tác đó, và sau đó gọi phương thức accept của từng đối tượng trong tập hợp các đối tượng với tham số là thực thể visitor vừa tạo ra. (Xem ví dụ để hiểu rõ hơn)
Thực đơn
Visitor pattern Thiết kếLiên quan
Visitor pattern Visitara Visitara undilinea Visitara charitopis Visitara brunneiplagaTài liệu tham khảo
WikiPedia: Visitor pattern